//
//  ViewController.m
//  JCUIColorDemo
//
//  Created by TR-L on 2019/11/20.
//  Copyright © 2019 Chuan. All rights reserved.
//

#import "ViewController.h"
#import "JCUIColorPalette.h"

@interface ViewController () <UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, copy) NSArray<NSString *> *textColors;
@property (nonatomic, copy) NSArray<NSString *> *palettes;
@property (nonatomic, copy) NSArray<NSString *> *colors;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    _textColors = @[@"primary",@"secondary",@"others",@"dividers"];
    _palettes = @[@"lighten5",@"lighten4",@"lighten3",@"lighten2",@"lighten1",@"base",@"darken1",@"darken2",@"darken3",@"darken4",@"accent1",@"accent2",@"accent3",@"accent4"];
    _colors = @[@"darkTex", @"lightText", @"red",@"pink",@"purple",@"deepPurple",@"indigo",@"blue",@"light blue",@"cyan",@"teal",@"green",@"light green",@"lime",@"yellow",@"amber",@"orange",@"deep orange",@"brown",@"grey",@"blue grey"];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 21;
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    return _colors[section];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if (section < 2) { return 4; }
    return 14;
}

static NSString *ids = @"Cell";
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ids forIndexPath:indexPath];
    if (indexPath.section < 2) {
        cell.textLabel.text = _textColors[indexPath.row];
        if (indexPath.section == 0) {
            switch (indexPath.row) {
                case 0: cell.contentView.backgroundColor = JCUIDarkTextColor.primary; break;
                case 1: cell.contentView.backgroundColor = JCUIDarkTextColor.secondary; break;
                case 2: cell.contentView.backgroundColor = JCUIDarkTextColor.others; break;
                case 3: cell.contentView.backgroundColor = JCUIDarkTextColor.dividers; break;
                default: break;
            }
        } else {
            switch (indexPath.row) {
                case 0: cell.contentView.backgroundColor = JCUILightTextColor.primary; break;
                case 1: cell.contentView.backgroundColor = JCUILightTextColor.secondary; break;
                case 2: cell.contentView.backgroundColor = JCUILightTextColor.others; break;
                case 3: cell.contentView.backgroundColor = JCUILightTextColor.dividers; break;
                default: break;
            }
        }
    } else {
        cell.textLabel.text = _palettes[indexPath.row];
        switch (indexPath.section) {
            case 2: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIRedColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIRedColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIRedColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIRedColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIRedColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIRedColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIRedColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIRedColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIRedColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIRedColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIRedColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIRedColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIRedColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIRedColor.accent4; break;
                    default: break;
                }
            } break;
            case 3: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIPinkColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIPinkColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIPinkColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIPinkColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIPinkColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIPinkColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIPinkColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIPinkColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIPinkColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIPinkColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIPinkColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIPinkColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIPinkColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIPinkColor.accent4; break;
                    default: break;
                }
            } break;
            case 4: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIPurpleColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIPurpleColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIPurpleColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIPurpleColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIPurpleColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIPurpleColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIPurpleColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIPurpleColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIPurpleColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIPurpleColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIPurpleColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIPurpleColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIPurpleColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIPurpleColor.accent4; break;
                    default: break;
                }
            } break;
            case 5: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIDeepPurpleColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIDeepPurpleColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIDeepPurpleColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIDeepPurpleColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIDeepPurpleColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIDeepPurpleColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIDeepPurpleColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIDeepPurpleColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIDeepPurpleColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIDeepPurpleColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIDeepPurpleColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIDeepPurpleColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIDeepPurpleColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIDeepPurpleColor.accent4; break;
                    default: break;
                }
            } break;
            case 6: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIIndigoColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIIndigoColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIIndigoColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIIndigoColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIIndigoColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIIndigoColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIIndigoColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIIndigoColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIIndigoColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIIndigoColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIIndigoColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIIndigoColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIIndigoColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIIndigoColor.accent4; break;
                    default: break;
                }
            } break;
            case 7: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIBlueColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIBlueColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIBlueColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIBlueColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIBlueColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIBlueColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIBlueColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIBlueColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIBlueColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIBlueColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIBlueColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIBlueColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIBlueColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIBlueColor.accent4; break;
                    default: break;
                }
            } break;
            case 8: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUILightBlueColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUILightBlueColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUILightBlueColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUILightBlueColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUILightBlueColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUILightBlueColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUILightBlueColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUILightBlueColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUILightBlueColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUILightBlueColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUILightBlueColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUILightBlueColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUILightBlueColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUILightBlueColor.accent4; break;
                    default: break;
                }
            } break;
            case 9: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUICyanColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUICyanColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUICyanColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUICyanColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUICyanColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUICyanColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUICyanColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUICyanColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUICyanColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUICyanColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUICyanColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUICyanColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUICyanColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUICyanColor.accent4; break;
                    default: break;
                }
            } break;
            case 10: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUITealColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUITealColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUITealColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUITealColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUITealColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUITealColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUITealColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUITealColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUITealColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUITealColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUITealColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUITealColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUITealColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUITealColor.accent4; break;
                    default: break;
                }
            } break;
            case 11: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIGreenColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIGreenColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIGreenColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIGreenColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIGreenColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIGreenColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIGreenColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIGreenColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIGreenColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIGreenColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIGreenColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIGreenColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIGreenColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIGreenColor.accent4; break;
                    default: break;
                }
            } break;
            case 12: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUILightGreenColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUILightGreenColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUILightGreenColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUILightGreenColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUILightGreenColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUILightGreenColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUILightGreenColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUILightGreenColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUILightGreenColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUILightGreenColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUILightGreenColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUILightGreenColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUILightGreenColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUILightGreenColor.accent4; break;
                    default: break;
                }
            } break;
            case 13: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUILimeColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUILimeColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUILimeColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUILimeColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUILimeColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUILimeColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUILimeColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUILimeColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUILimeColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUILimeColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUILimeColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUILimeColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUILimeColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUILimeColor.accent4; break;
                    default: break;
                }
            } break;
            case 14: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIYellowColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIYellowColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIYellowColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIYellowColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIYellowColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIYellowColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIYellowColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIYellowColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIYellowColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIYellowColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIYellowColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIYellowColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIYellowColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIYellowColor.accent4; break;
                    default: break;
                }
            } break;
            case 15: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIAmberColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIAmberColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIAmberColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIAmberColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIAmberColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIAmberColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIAmberColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIAmberColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIAmberColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIAmberColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIAmberColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIAmberColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIAmberColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIAmberColor.accent4; break;
                    default: break;
                }
            } break;
            case 16: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIOrangeColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIOrangeColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIOrangeColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIOrangeColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIOrangeColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIOrangeColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIOrangeColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIOrangeColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIOrangeColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIOrangeColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIOrangeColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIOrangeColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIOrangeColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIOrangeColor.accent4; break;
                    default: break;
                }
            } break;
            case 17: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIDeepOrangeColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIDeepOrangeColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIDeepOrangeColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIDeepOrangeColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIDeepOrangeColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIDeepOrangeColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIDeepOrangeColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIDeepOrangeColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIDeepOrangeColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIDeepOrangeColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIDeepOrangeColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIDeepOrangeColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIDeepOrangeColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIDeepOrangeColor.accent4; break;
                    default: break;
                }
            } break;
            case 18: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIBrownColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIBrownColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIBrownColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIBrownColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIBrownColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIBrownColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIBrownColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIBrownColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIBrownColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIBrownColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIBrownColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIBrownColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIBrownColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIBrownColor.accent4; break;
                    default: break;
                }
            } break;
            case 19: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIGreyColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIGreyColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIGreyColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIGreyColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIGreyColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIGreyColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIGreyColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIGreyColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIGreyColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIGreyColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIGreyColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIGreyColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIGreyColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIGreyColor.accent4; break;
                    default: break;
                }
            } break;
            case 20: {
                switch (indexPath.row) {
                    case 0: cell.contentView.backgroundColor = JCUIBlueGreyColor.lighten5; break;
                    case 1: cell.contentView.backgroundColor = JCUIBlueGreyColor.lighten4; break;
                    case 2: cell.contentView.backgroundColor = JCUIBlueGreyColor.lighten3; break;
                    case 3: cell.contentView.backgroundColor = JCUIBlueGreyColor.lighten2; break;
                    case 4: cell.contentView.backgroundColor = JCUIBlueGreyColor.lighten1; break;
                    case 5: cell.contentView.backgroundColor = JCUIBlueGreyColor.base; break;
                    case 6: cell.contentView.backgroundColor = JCUIBlueGreyColor.darken1; break;
                    case 7: cell.contentView.backgroundColor = JCUIBlueGreyColor.darken2; break;
                    case 8: cell.contentView.backgroundColor = JCUIBlueGreyColor.darken3; break;
                    case 9: cell.contentView.backgroundColor = JCUIBlueGreyColor.darken4; break;
                    case 10: cell.contentView.backgroundColor = JCUIBlueGreyColor.accent1; break;
                    case 11: cell.contentView.backgroundColor = JCUIBlueGreyColor.accent2; break;
                    case 12: cell.contentView.backgroundColor = JCUIBlueGreyColor.accent3; break;
                    case 13: cell.contentView.backgroundColor = JCUIBlueGreyColor.accent4; break;
                    default: break;
                }
            } break;
            default: break;
        }
    }
    return cell;
}

@end
